package com.whfc.quality.service;

import com.whfc.common.exception.BizException;
import com.whfc.quality.dto.QualityPartDTO;
import com.whfc.quality.dto.QualityPartImportDTO;
import com.whfc.quality.dto.QualityPartImportResultDTO;
import com.whfc.quality.param.QualityPartAddParam;
import com.whfc.quality.param.QualityPartEditParam;

import java.util.List;

/**
 * @author : qzexing
 * @version : 1.0
 * @date : 2020-07-30 16:21
 */
public interface QualityPartService {

    /**
     * 获取部位列表
     *
     * @param deptId 组织机构ID
     * @param keyword 搜索关键字
     * @return 部位列表
     * @throws BizException 业务异常
     */
    List<QualityPartDTO> list(Integer deptId, String keyword) throws BizException;


    /**
     * 新增质量部位
     *
     * @param addParam 新增部位参数
     * @throws BizException 业务异常
     */
    void add(QualityPartAddParam addParam) throws BizException;

    /**
     * 编辑质量部位
     *
     * @param editParam 修改部位参数
     * @throws BizException 业务异常
     */
    void edit(QualityPartEditParam editParam) throws BizException;

    /**
     * 删除部位
     *
     * @param partId 部位ID
     * @throws BizException 业务异常
     */
    void del(Integer partId) throws BizException;

    /**
     * 导入部位
     *
     * @param deptId 组织机构ID
     * @param list   部位列表
     * @return 导入结果
     */
    QualityPartImportResultDTO importPart(Integer deptId, List<QualityPartImportDTO> list) throws BizException;
}
